/**
 * 路径导入辅助模块 - 统一配置入口模式
 * 通过统一配置入口引用辅助模块，避免直接依赖路径
 */

// 导入路径解析器
const pathResolver = require('../../../config/path_resolver.js');

// 初始化变量存储最终要导出的模块
let exportModules = {};

// 从统一配置入口导入辅助模块并添加容错处理
try {
  const { pageHelper, cloudHelper } = require('../../../../../helpers/index.js');
  
  // 添加到导出模块
  exportModules = {
    pageHelper: pageHelper || {},
    cloudHelper: cloudHelper || {},
  };
  
} catch (e) {
  console.error('无法从全局配置导入Helpers，将使用本地导入', e);
  
  // 备用方案：直接导入关键Helper
  try {
    exportModules.pageHelper = require('../../../../../helpers/page_helper.js');
    exportModules.cloudHelper = require('../../../../../helpers/cloud_helper.js');
  } catch (e2) {
    console.error('备用方案导入也失败', e2);
  }
}

// 导入业务模块，使用try-catch增强容错性
try {
  // 尝试导入项目业务逻辑
  exportModules.ProjectBiz = require('../../../config/project_biz_config.js');
  console.log('成功导入ProjectBiz');
} catch (e) {
  console.error('导入ProjectBiz失败，使用默认实现', e);
  exportModules.ProjectBiz = {
    initPage: function(that) { console.warn('ProjectBiz.initPage - 模块未正确加载'); },
    getProjectColor: function() { return 'blue'; }
  };
}

// 导入服务模块
try {
  // 尝试导入反馈服务
  const { FeedbackService } = require('../../../services/service_config.js');
  exportModules.FeedbackService = FeedbackService;
  console.log('成功导入FeedbackService');
} catch (e) {
  console.error('导入FeedbackService失败，使用默认实现', e);
  exportModules.FeedbackService = {
    addFeedback: async function() { return { code: -1, message: 'FeedbackService未正确加载' }; }
  };
}

// 添加pathResolver到导出模块
exportModules.pathResolver = pathResolver;

// 导出所有模块
module.exports = exportModules; 